/* esm风格的模块化 */
import { createApp } from 'vue'

import { createRouter, createWebHistory } from 'vue-router'

// 引入全局样式
import './style.css'

// 引入根组件
import App from './App.vue'

/* 创建router */
import routes from '@/router/index'

const router = createRouter({
    history: createWebHistory(),
    routes, // `routes: routes` 的缩写
})

// 基于APP根组件创建应用实例
const app = createApp(App)

//整个应用支持路由。
app.use(router)

// 使用pinia插件
import { createPinia } from 'pinia'

app.use(createPinia())

/* 注册自定义指令 */
import debounce from './directives/debounce'
app.directive(debounce.name, debounce.handler)

// 将应用实例挂载到页面的id="app"的元素上
app.mount('#app')
